// 仓库
// 1.引入vuex依赖
import Vue from "vue";
import Vuex from 'vuex';
//引入shop里面的函数
import { getProducts } from './api/shop';
Vue.use(Vuex); // 安装 Vuex 到Vue上面 Vue.use 的时候 => Vuex 中的install 方法
//2. 初始化仓库
let store = new Vuex.Store({
        state: { //写入需要放入仓库的数据
            products: getProducts(), //放置产品信息的数据
            carts: [], //购物车里面的数据

        },
        // mutations 同步操作
        mutations: {
            addGoodToCar: function(state, product) {
                console.log(state, product);
                // 将传入的商品数据添加到购物车、
                // 判断商品
                // 1.先判断商品是否在购物车里
                let Index = state.carts.findIndex((cart, index) => {
                    if (cart.id === product.id) { //表示如果原来购物车里面有选择的商品
                        return true
                    }
                })
                if (Index != -1) { //表示商品是已级存在的，再点击一次就是数量加一
                    state.carts[Index].num++;
                } else {
                    let cart = JSON.parse(JSON.stringify(product))
                    console.log(cart);
                    cart.num = 1;
                    state.carts.push(cart)
                    console.log(state.carts);
                }

            }

        },
        //actions异步操作
        actions: {


        }
    })
    //3. 导出仓库
export default store;